public class Test {
    /*    // 在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果(方法的重载)
        public static int add(int a, int b) {
            return a + b;
        }

        public static double add(double a double b, double c) {
            return a + b + c;
        }

        public static void main(String[] args) {
            System.out.println(add(3, 4));
            System.out.println(add(2.5, 3.4, 5.6));
        }*/

/*    //在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
     public static int max(int a, int b) {
        return Math.max(a, b);
    }

    public static double max(double a, double b, double c) {
        double max = Math.max(a, b);
        return Math.max(max, c);
    }

    public static void main(String[] args) {
        System.out.println(max(3, 4));
        System.out.println(max(1.5, 1.3, 1.4));
    }*/

/*    //递归求 N 的阶乘
    public static int fac(int n){
        if(n == 0){
            return 0;
        }
        if(n == 1){
            return 1;
        }
        return fac(n-1)*n;
    }
    public static void main(String[] args) {
        System.out.println(fac(5));
    }*/

/*    //递归求 1 + 2 + 3 + ... + 10
    public static int sum(int n){
        if(n == 1){
            return 1;
        }
        return sum(n-1)+n;
    }
    public static void main(String[] args) {
        System.out.println(sum(10));
    }*/

/*    //按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)    （递归）
    public static void printEachBit(int n) {
        if (n <= 9) {
            System.out.print(n+" ");
            return;
        }
        printEachBit(n / 10);
        System.out.print(n % 10+" ");
    }

    public static void main(String[] args) {
        printEachBit(1234);
    }*/

/*    //写一个递归方法，输入一个非负整数，返回组成它的数字之和
    public static int numberSum(int n) {
        if (n < 10) {
            return n;
        }
        return numberSum(n / 10) + n % 10;
    }

    public static void main(String[] args) {
        System.out.println(numberSum(1234));
    }*/

/*    //递归求斐波那契数列的第 N 项//1 1 2 3 5.....
    public static int fib(int n){
        if(n == 1 || n == 2){
            return 1;
        }
        return fib(n-1)+fib(n-2);
    }
    public static void main(String[] args) {
        System.out.println(fib(6));
    }*/

    //   //递归求解汉诺塔问题
//
//    public static void move(char a,char b){
//        System.out.print(a+"->"+b+" ");
//    }
//    /**
//     *
//     * @param pos1 起始塔
//     * @param pos2 中转塔
//     * @param pos3 目标塔
//     *//**//*
//    public static void hanoi(int n,char pos1,char pos2,char pos3){
//        if(n == 1){
//            move(pos1,pos3);
//            return;
//        }
//        hanoi(n-1,pos1,pos3,pos2);
//        move(pos1,pos3);
//        hanoi(n-1,pos2,pos1,pos3);
//
//    }
//    public static void main(String[] args) {
//        hanoi(1,'A','B','C');
//        System.out.println();
//        hanoi(2,'A','B','C');
//        System.out.println();
//        hanoi(3,'A','B','C');
//        System.out.println();
//        hanoi(4,'A','B','C');
//
//    }
    public static String myToString(int[] array) {
        if (array == null) {
            return "null";
        }
        if(array.length == 0){
            return "[]";
        }
        String ret = "[";
        for (int i = 0; i < array.length; i++) {
            ret += array[i];
            if (i < array.length - 1) {
                ret += ",";
            }
        }

        ret += "]";
        return ret;
    }

    public static void main(String[] args) {
        int[] array =new int[0];
        String ret = myToString(null);
        System.out.println(ret);
    }
}
